/

VRML -> X3D

Introducing
X3D



X3D XML Syntax Overview (1)


Overview of Virtual Reality

Before examining the XML encoding in detail, how about a quick overview of the basics of Virtual Reality.


VRML -> X3D

    * Standards-Track Animated Interactive 3D
    * X3D XML and VRML Text Format 
    * X3D and Scene Access Interface (SAI) overview
    * X3D W3C DOM Interface overview 
    * X3D Profiles 
    * X3D Components 
    * X3D Levels/Versions 
    * Next Steps 
    * XML X3D Syntax Overview 

This is a list of items that I feel most important that you learn about
in this introductory course.
I will discuss the X3D Syntax in some detail, but first let's take a look at the scope of the existing language we are attempting to transcode into XML.

It is the components which provide layers of increasing capability. The profiles capture a cross section of the available components to select the functionality needed for a particular application area.

Open Standard

    * Standards-Track 
       Geometries,    Lighting, 
       Appearances,   Viewpoints, 
       Behaviors,     Interactivity 

    * Compatibility Points
        W3C 
        MPEG4 

Open Standards are still the best bet for
content durability and re-purposing.
n_polys

Some might explain that the XMLization of VRML is simply a distraction interjected into the otherwise calm and deliberative explorations and discussions of VRML functionality and extensions thereof.
Amazing set of performance and transportability requirements.
Significant proprietary and open source implementations 'live' in the hands of users.
NIST and other example repositories.
Compatibility points across W3C and MPEG standards.
Widespread recognition of the reality of virtual reality - and of the standards-track.

Text Format

    * X3D XML and VRML Text Formats 
       VRML97 encoding (VRML97 ISO Spec)
       XML encoding (new ISO Spec)

    * How we do It: 

         VRML97->X3DXML->X3DVRML 

     + VRML97 Browsers Run X3DVRML Base Profile !!
     + X3DVRML Browsers Run VRML97 !! 
     + Full X3D Browsers Run All :)

    * Other Efforts:
       binary/streaming encoding (development) 
       serializable (development)
 

First Priority is 100% Lossless transcoding.
VRML97->X3DXML->X3DVRML using open tools and back again
using acceptable VRML97 viewer(s) is standard of acceptance for transcoding.

nodes-and-fields -> elements-and-attributes ??

VRML97 Widely accepted and ISO Amendment 1 adds
NURBS, GeoSpatial, and H-Anim.
Many VRML97-derived Implementations.
Translation Proves (mostly) Trivial regardless of encoding choices.
Convenience - Validation - Acceptance

SAI and DOM

    * X3D Scene Access Interface (SAI) 
       access to Browser 
       access to 'External' Script/Java/Native
       general node/field/event access
       strongly typed accessor/mutator 
        (may be autogenerated)

    * X3D W3C DOM and Web3D SAI overview 
       DOM convenience methods for accessing a generic XML doc 
       SAI strongly typed methods specific to X3D scene graph

    * All Works Together! 

Discussed elsewhere in detail, the SAI and DOM interfaces seem to complement each other.

XML X3D

  Scenes
  Navigation 
  Geometries
  Materials
  Lights
  Time
  Events
  Routes
  Prototypes 

When you start looking at VRML you notice that you can View Scenes or Worlds made up of Objects that represent Geometries made up of Materials that are made visible by proper application of Lighting, and that the world is animated by Time and Events routed between nodes. You may see that some nodes are custom Prototypes made up of combinations of standard nodes.

XML X3D

  Scenes
  Viewpoints
  Navigation 
  Manipulation
  Geometries
  Lights
  Textures
  Materials
  Events
  Sensors
  Anchors
  Timers 
  Interpolators
  Routes
  Scripts 
  DEF/USE
  Inlines
  Prototypes
  External Prototypes
  Object and Texture Libraries
  External interfaces

Then you look deeper into the coding and find that in addition there are Sensors, Anchors to hyperlink to other parts of the scene and to other scenes and worlds outside the present scene. You find Timers, Interpolators and Scripts to produce interactive animations, and that parts of the scene may be loaded by Inlines from separate files. Further still, there are facilities to DEF and reUSE components. You will see that there are massive Object and Texture and External Prototype Libraries available, and even detailed programatic interfaces to whatever is outside the scene.

Environment and Interactivity


      Environment
                      Interactivity


The goal of all this is to produce an highly responsive interactive environment with a believable Structure and hierarchy - like real life. Well Virtual Real Life, anyway.

Visualization and Navigation

    *Multiple ViewPoints
    *Walk or Fly
    *Examine  
    *Internal/External Anchors  

Basic elements in the Visualization is the ability for the Author to set defined viewpoints to observe the scene contents from practically any point in the scene. But you also need to be able to navigate around the scene and this is provided by giving you the ability to at least Walk or Fly, and to actually Examine objects much like you are holding them with your hands. Of course there are the Anchors that allow you to hyperlink between viiewpoints within the present scene or 'outside' to a completely different environment.

Minimum Interface

    Pointing Device 
      Pointing Device Position and Movement 
      Touch 
    Activate Pointing Device
      Select ... Transform ...   
    Keyboard Control of Navigation and Activate 

There are many types of interface devices you may use to hook yourself up to the Scene, but anything you use must provide some sort of Pointing Device to allow you to touch and select objects and control your movement.
A standard Mouse can provide this ability. You can touch or click to select and even transform an object if the Author permits it.
In order to provide better access to these features, the standard keyboard can also be used for these functions.

X3D XML Syntax Overview

Welcome to a discussion of the XMLization and DOMification of VRML.

Home | Next

Some small steps toward WWWWorld Wide WebHyperMultiMedia

©2002 Williams Publications/hypermultimedia.com

rights reserved - 02/18/02 03/10 03/21 03/22 03/24 03/26 03/27 04/04